let str = "mrs jiang"; // MRS_JIANG

const _ = require("lodash");

// let flow1 = _.split(str, " "); // pp
// let flow2 = _.join(flow1, "_");
// let flow3 = _.toUpper(flow2);

// toUpper,join,split   入参

// 利用柯里化 调整参数的位置

let split = _.curry((sep, str) => _.split(str, sep));
let join = _.curry((sep, str) => _.join(str, sep));

const composeFn = _.flowRight(_.toUpper, join("_"), split(" ")); // 组合处理数据
console.log(composeFn(str)); // 最终传入需要处理的数据

// 函数式编程 “组合” ， “数据的处理”

const fp = require("lodash/fp");
const composeFn1 = fp.flowRight(fp.toUpper, fp.join("_"), fp.split(" ")); // 组合处理数据
console.log(composeFn1(str)); // 最终传入需要处理的数据
